
Page({
  data:{
    userInfo:{}
  },
  // 页面一加载，--------数据回显
  onLoad() {
    this.setData({
      userInfo:wx.getStorageSync('userInfo')
    })
  },
  // ------------用户名
  getNickName(ev) {
    // console.log(ev.detail)
    // 更新用户昵称
    this.updateNickName(ev.detail.value)
  },
  async updateNickName(nickName) {
    // 请求数据接口
    const { code } = await wx.http.put('/userInfo', { nickName })
    // 检测接口调用的结果
    if (code !== 10000) return wx.utils.toast('更新用户信息失败!')
    // 保存用户昵称
    this.setData({"userInfo.nickName": nickName})
  },
  //------------头像
  getuserAvatar(ev) {
    console.log(ev.detail.avatarUrl)
    // 注意：这时临时图片地址，需要上传到自己的服务器

    // 上传头像,发请求要用到特定的上传请求 wx.uploadFile,不支持promise
    wx.uploadFile({
      url: wx.http.baseURL + "/upload",//服务器地址，看接口文档
      filePath: ev.detail.avatarUrl,//要上传文件资源的路径 (本地路径)
      name: "file",//后端指定的 key
      header:{
        Authorization: getApp().token
      }, //请求头
      formData:{
        type: "avatar"
      }, //HTTP 请求中其他额外的参数
      // 因为不支持promise,用success接收请求结果
      success:({data}) => {
        // 将json字符串转成对象
        const {code,data:imageData} = JSON.parse(data)
        if(code !== 10000) return wx.http.utils('更新头像失败')
        // 注意：这里需要用到this,所以需要success使用箭头函数
        
        this.setData({"userInfo.avatar":imageData.url})
      }
    })
  }
})
